package cn.server.conf;

/**
 * The Class Parameter.
 */
public class SQLParameter {

	/** 参数名称,对应列名. */
	private String name;

	/** 参数值. */
	private Object value;

	/** 查询的类型. */
	private Type type;

	/** 的类型. */
	private DataType dataType;

	/**
	 * 查询类型的枚举变量,暂时支持这几种.
	 */
	public enum Type {
		/** 精确查询,相当于等于. */
		EQUAL,
		/** 模糊查询,相当于like. */
		LIKE,
		/** 大于. */
		GT,
		/** 小于. */
		LT
	};

	/**
	 * 数据类型的枚举变量,暂时支持这几种.
	 */
	public enum DataType {
		/** 数字,等同于STRING. */
		NUMBER,
		/** 字符串. */
		STRING,
		/** 日期. */
		DATE
	};

	/**
	 * Instantiates a new parameter.
	 * 
	 * @param name
	 *            参数名称,对应列名
	 * @param value
	 *            参数值
	 * @param type
	 *            查询的类型
	 */
	public SQLParameter(String name, Object value, Type type) {
		this.name = name;
		this.value = value;
		this.type = type;
		this.dataType = DataType.STRING;
	}

	public SQLParameter(String name, Object value, Type type, DataType dataType) {
		this.name = name;
		this.value = value;
		this.type = type;
		this.dataType = dataType;
	}

	public String getName() {
		return name;
	}

	public Object getValue() {
		return value;
	}

	public Type getType() {
		return type;
	}

	public DataType getDataType() {
		return dataType;
	}
}
